1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13 public partial class frmNhaCungCap : Form
14 {
15
16 private int _getIdNhaCungCap;
17
18 public frmNhaCungCap()
19 {
20 InitializeComponent();
21 }
22
23 int _IdNhaCungCap = 0;
24 string _TrangThai = "SuDung";
25 DateTime _NgayTao = DateTime.Now;
26 string _HoVaTen = string.Empty;
27 string _SoDienThoai = string.Empty;
28 string _DiaChi = string.Empty;
29 string _TenCongTy = string.Empty;
30 string _Dc_Email = string.Empty;
31 DateTime _NgayThanhLap_NgaySinh = DateTime.Now;
32 string _AnhDaiDien = string.Empty;
33 string _GhiChu = string.Empty;
34
35 int _pageSize = 30;
36 int _pageIndex = 1;
37 int _stt = 0;
38 int _tongSoBanGhi = 0;
39
40 //-http://diendan.congdongcviet.com/threads/t12606::cach-dung-delegate-trong-lap-trinh-csharp.cpp
41 //Khai báo 1 hàm delegate
42 public delegate void GetThongTinNCC(int idNhaCungCap, string hoVaTen, string soDienThoai, string diaChi, bool btnTrangThai = true);
43 //Khai báo 1 kiểu hàm delegate
44 public GetThongTinNCC ChonNhaCungCap;
45
46 /*
47 public frmNhaCungCap(int idNhaCungCap) : this()
48 {
49 _getIdNhaCungCap = idNhaCungCap;
50 }
51
52 */
53
54 private void btnThemMoi_Click(object sender, EventArgs e)
55 {
56
57
58 }
59
60 private void btnHuy_Click(object sender, EventArgs e)
61 {
62
63 }
64
65 private void HienThiDanhSachNhaCungCap(int idNhaCungCap, string hoVaTen, string soDienThoai)
66 {
67 DataTable dtNCC = new DataTable();
68
69 dgvDanhSachChonNhanhNCC.Rows.Clear();
70 //Ẩn cột đầu tiên
71 dgvDanhSachChonNhanhNCC.RowHeadersVisible = false;
72 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
73 this.dgvDanhSachChonNhanhNCC.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
74 this.dgvDanhSachChonNhanhNCC.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
75 //this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
76
77 this.dgvDanhSachChonNhanhNCC.Columns["Chon"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
78 this.dgvDanhSachChonNhanhNCC.Columns["Chon"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
79
80
81 dtNCC = Controllers.NhaCungCapCtrl.FillDataSet_Gets_NhaCungCap_AllSearch(idNhaCungCap, "trangthai", DateTime.Now, hoVaTen, soDienThoai, "diaChi", "tencongty", "diachiemail", DateTime.Now, "anhdaidien", "ghi chu", _pageSize, _pageIndex).Tables[0];
82
83 if (dtNCC.Rows.Count > 0)
84 {
85 _tongSoBanGhi = Int32.Parse(dtNCC.Rows[0]["TongSoBanGhi"].ToString());
86
87
88 foreach (DataRow item in dtNCC.Rows)
89 {
90 _stt += 1;
91 int n = dgvDanhSachChonNhanhNCC.Rows.Add();
92
93 dgvDanhSachChonNhanhNCC.Rows[n].Cells["IdNhaCungCap"].Value = item["IdNhaCungCap"].ToString();
94 dgvDanhSachChonNhanhNCC.Rows[n].Cells["STT"].Value = _stt.ToString();
95 dgvDanhSachChonNhanhNCC.Rows[n].Cells["HoVaTen"].Value = item["HoVaTen"].ToString();
96 dgvDanhSachChonNhanhNCC.Rows[n].Cells["SoDienThoai"].Value = item["SoDienThoai"].ToString();
97 dgvDanhSachChonNhanhNCC.Rows[n].Cells["DiaChi"].Value = item["DiaChi"].ToString();
98 dgvDanhSachChonNhanhNCC.Rows[n].Cells["Chon"].Value = "Sửa";
99 }
100
101 }
102 else
103 {
104 _tongSoBanGhi = 0;
105
106 }
107
108 lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
109 }
110
111 private void frmNhaCungCap_Load(object sender, EventArgs e)
112 {
113 //hiển thị danh sách chọn ncc
114 //this.HienThiDanhSachNhaCungCap(0, "", "");
115 string hovaten = txtHoVaTenFrmDanhSachNCC.Text.Trim();
116 string sodienthoai = txtSoDienThoaiFrmDanhSachNCC.Text.Trim();
117
118 this.HienThiDanhSachNhaCungCap(0, hovaten, sodienthoai);
119
120 //format ngay thang nam
121 //dateTimePickerNgaySinh.Format = DateTimePickerFormat.Custom;
122 //dateTimePickerNgaySinh.CustomFormat = "dd/mm/yyyy";
123 }
124
125 private void btnTimNhanhNCC_Click(object sender, EventArgs e)
126 {
127 _pageSize = 30;
128 _pageIndex = 1;
129 _stt = 0;
130
131 string hovaten = txtHoVaTenFrmDanhSachNCC.Text.Trim();
132 string sodienthoai = txtSoDienThoaiFrmDanhSachNCC.Text.Trim();
133
134 this.HienThiDanhSachNhaCungCap(0, hovaten, sodienthoai);
135
136 tabControlFrmNhaCungCap.SelectedTab = tabPageDanhSachChonNhanhNCC;
137
138 }
139
140 private void dgvDanhSachChonNhanhNCC_CellClick(object sender, DataGridViewCellEventArgs e)
141 {
142 //-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
143 if (dgvDanhSachChonNhanhNCC.Columns[e.ColumnIndex].Name == "HoVaTen" && e.RowIndex != -1)
144 {
145 //-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
146 if (dgvDanhSachChonNhanhNCC.CurrentCell != null && dgvDanhSachChonNhanhNCC.CurrentCell.Value != null)
147 {
148 int idNhaCungCap = Int32.Parse(dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["IdNhaCungCap"].Value.ToString());
149 string hoVaTen = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["HoVaTen"].Value.ToString();
150 string soDienThoai = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["SoDienThoai"].Value.ToString();
151 string diaChi = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["DiaChi"].Value.ToString();
152
153 if (ChonNhaCungCap != null)
154 {
155 //họ và tên, sđt, dc, click = true
156 ChonNhaCungCap(idNhaCungCap, hoVaTen, soDienThoai, diaChi, true);
157 }
158
159 this.Close();
160 }
161 }
162
163 //Sửa thông tin nhà cung cấp
164 if (dgvDanhSachChonNhanhNCC.Columns[e.ColumnIndex].Name == "Chon" && e.RowIndex != -1)
165 {
166 //-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
167 if (dgvDanhSachChonNhanhNCC.CurrentCell != null && dgvDanhSachChonNhanhNCC.CurrentCell.Value != null)
168 {
169 int idNhaCungCap = Int32.Parse(dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["IdNhaCungCap"].Value.ToString());
170 string hoVaTen = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["HoVaTen"].Value.ToString();
171 string soDienThoai = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["SoDienThoai"].Value.ToString();
172 string diaChi = dgvDanhSachChonNhanhNCC.Rows[e.RowIndex].Cells["DiaChi"].Value.ToString();
173
174 _IdNhaCungCap = idNhaCungCap;
175
176 txtHoVaTen.Text = hoVaTen;
177 txtSoDienThoai.Text = soDienThoai;
178 txtDiaChi.Text = diaChi;
179
180 if (_IdNhaCungCap != 0)
181 {
182 btnThemMoi.Text = "Lưu thay đổi";
183 }
184
185 tabControlFrmNhaCungCap.SelectedTab = tabPageFrmThemMoiNCC;
186 }
187 }
188 }
189
190 private void txtSoDienThoaiFrmDanhSachNCC_TextChanged(object sender, EventArgs e)
191 {
192 try
193 {
194 //goi lai nut tim kiem trong form
195 this.btnTimNhanhNCC_Click(sender, e);
196 }
197 catch { }
198 }
199
200 private void txtHoVaTenFrmDanhSachNCC_TextChanged(object sender, EventArgs e)
201 {
202 try
203 {
204 //goi lai nut tim kiem trong form
205 this.btnTimNhanhNCC_Click(sender, e);
206 }
207 catch { }
208 }
209
210 private void btnThemMoi_Click_1(object sender, EventArgs e)
211 {
212 try
213 {
214 _HoVaTen = txtHoVaTen.Text.Trim();
215 if (string.IsNullOrEmpty(_HoVaTen))
216 {
217 MessageBox.Show("Họ tên không được để trống");
218 return;
219 }
220 }
221 catch { }
222
223 try
224 {
225 _SoDienThoai = txtSoDienThoai.Text.Trim();
226
227 if (string.IsNullOrEmpty(_SoDienThoai))
228 {
229 MessageBox.Show("Số điện thoại không được để trống");
230 return;
231 }
232 }
233 catch { }
234
235 try
236 {
237 _NgayThanhLap_NgaySinh = DateTime.Parse(dateTimePickerNgaySinh.Text);
238 }
239 catch { }
240
241 try
242 {
243 _TenCongTy = txtTenCongTy.Text.Trim();
244 }
245 catch { }
246
247 try
248 {
249 _Dc_Email = txtEmail.Text.Trim();
250 }
251 catch { }
252
253 try
254 {
255 _AnhDaiDien = "?";
256 }
257 catch { }
258
259 try
260 {
261 _DiaChi = txtDiaChi.Text.Trim();
262 }
263 catch { }
264
265 try
266 {
267 _GhiChu = txtGhiChu.Text.Trim();
268 }
269 catch { }
270
271 //int i = 0;
272 _IdNhaCungCap = Controllers.NhaCungCapCtrl.InsertNhaCungCap(_IdNhaCungCap, _TrangThai, _NgayTao, _HoVaTen, _SoDienThoai, _DiaChi, _TenCongTy, _Dc_Email, _NgayThanhLap_NgaySinh, _AnhDaiDien, _GhiChu);
273
274 if (ChonNhaCungCap != null)
275 {
276 //họ và tên, sđt, dc, click = true
277 ChonNhaCungCap(_IdNhaCungCap, _HoVaTen, _SoDienThoai, _DiaChi, true);
278 }
279
280 this.Close();
281 }
282
283 private void btnHuy_Click_1(object sender, EventArgs e)
284 {
285
286 tabControlFrmNhaCungCap.SelectedTab = tabPageDanhSachChonNhanhNCC;
287 }
288
289 private void linkLabel_ThemMoi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
290 {
291 tabControlFrmNhaCungCap.SelectedTab = tabPageFrmThemMoiNCC;
292 }
293
294 /*
295 private void linkLabel_DsNcc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
296 {
297
298
299 }
300 */
301
302 private void linkLabel_DsNcc_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e)
303 {
304 string hovaten = txtHoVaTenFrmDanhSachNCC.Text.Trim();
305 string sodienthoai = txtSoDienThoaiFrmDanhSachNCC.Text.Trim();
306
307 this.HienThiDanhSachNhaCungCap(0, hovaten, sodienthoai);
308
309 tabControlFrmNhaCungCap.SelectedTab = tabPageDanhSachChonNhanhNCC;
310 }
311
312 private void btnDong_Click(object sender, EventArgs e)
313 {
314 this.Close();
315 }
316
317 private void btnTiep_Click(object sender, EventArgs e)
318 {
319 if (_tongSoBanGhi > (_pageSize * _pageIndex))
320 {
321 _pageIndex = _pageIndex + 1;
322
323 this.HienThiDanhSachNhaCungCap(0, txtHoVaTenFrmDanhSachNCC.Text.Trim(), txtSoDienThoaiFrmDanhSachNCC.Text.Trim());
324 }
325 else
326 {
327 return;
328 }
329 }
330
331 private void btnSau_Click(object sender, EventArgs e)
332 {
333 if ((_pageSize * _pageIndex) > _pageSize)
334 {
335 _pageIndex = _pageIndex - 1;
336 _stt = _pageSize * _pageIndex - _pageSize;
337
338 this.HienThiDanhSachNhaCungCap(0, txtHoVaTenFrmDanhSachNCC.Text.Trim(), txtSoDienThoaiFrmDanhSachNCC.Text.Trim());
339
340 }
341 else
342 {
343 _pageIndex = 1;
344 }
345 }
346 }
347 }